﻿using hyjx.comm.Types;
using S7.Net;

namespace Hyjx.FeedingService.Configs
{
    /// <summary>
    /// 上料系统配置
    /// </summary>
    public class FeedingConfig
    {
        /// <summary>
        /// IP 地址
        /// </summary>
        public string Ip { get; set; } = string.Empty;
        /// <summary>
        /// 机架
        /// </summary>
        public short Rack { get; set; }
        /// <summary>
        /// 插槽
        /// </summary>
        public short Slot { get; set; }
        /// <summary>
        /// 是否启用
        /// </summary>
        public bool IsEnabled { get; set; }
        /// <summary>
        /// CPU 类型
        /// </summary>
        public CpuType CpuType { get; set; }
        /// <summary>
        /// PLC 功用类型
        /// </summary>
        public PlcFeatureTypes? FeatureType { get; set; }
        /// <summary>
        /// 心跳地址
        /// </summary>
        public string? HeartBeatAddress { get; set; }
        /// <summary>
        /// 制胶机器编码
        /// </summary>
        public string GlueDeviceCode { get; set; } = string.Empty;
        /// <summary>
        /// 配方点位集
        /// </summary>
        public RecipePointConfig[]? RecipePoints { get; set; }
        /// <summary>
        /// 粉体报表
        /// </summary>
        public PowderReportConfig? PowderReport { get; set; }
        /// <summary>
        /// 制胶点位
        /// </summary>
        public GluePointConfig? GluePoints { get; set; }
    }
}
